package com.brillilab.domain.po.experiments;


import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 * 实验试剂样品清单(保存实验所需的试剂样品和关联实验目标的产出)
 * </p>
 *
 * @author WuMenghao
 * @since 2019-04-24
 */
@TableName("experiment_bill")
@Data
public class ExperimentBill implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    /**
     * 实验ID
     */
    @TableField("experiment_id")
    private Long experimentId;
    /**
     * 阶段Id
     */
    private Long phaseId;
    /**
     * 阶段序号
     */
    private Integer phaseSort;
    /**
     * 步骤Id
     */
    private Long stepId;
    /**
     * 步骤序号
     */
    private Integer stepSort;
    /**
     * 名称
     */
    private String name;
    /**
     * 别名
     */
    private String alias;
    /**
     * 分类：1-试剂，2-样品
     */
    private Integer classify;
    /**
     * 来源：1-产出,2-成分
     */
    private Integer source;
    /**
     * 来源ID
     */
    @TableField("source_id")
    private Long sourceId;

    private Long stepReagentId;
    /**
     * 一级试剂类型Id
     */
    @TableField("first_reagent_type_id")
    private Long firstReagentTypeId;
    /**
     * 一级试剂类型Id
     */
    @TableField("inventory_id")
    private Long inventoryId;
    /**
     * 计量
     */
    private BigDecimal amount;
    /**
     * 单位
     */
    private Integer unit;
    /**
     * 是否方法导入：0-否，1-是
     */
    private Integer isMethod=0;
    /**
     * 试剂Id
     */
    @TableField("kit_id")
    private Long kitId;
    /**
     * 1-kit 2-reagent
     */
    @TableField("type")
    private Integer type;
    /**
     * kit名称
     */
    @TableField("kit_name")
    private String kitName;
    /**
     * 插入时间
     */
    @TableField("create_time")
    private Date createTime;
    /**
     * 更新时间
     */
    @TableField("update_time")
    private Date updateTime;
    
    /**
     * 单位名称
     */
    @TableField(exist = false)
    private String unitName;
    
    @TableField(exist = false)
    private Long reagentTypeId;
}
